package com.bdh.javaBasicStudy;

import org.apache.commons.lang.StringUtils;
import org.junit.Test;
import sun.swing.StringUIClientPropertyKey;

import java.util.function.Supplier;

/**
 * @projectName: maven_project
 * @package: com.bdh.javaBasicStudy
 * @className: StringUtilsExer
 * @author: Dream
 * @description: TODO
 * @date: 2022/6/15 20:25
 */
public class StringUtilsExer {
    public static void main(String[] args) {
        boolean flag = StringUtils.isBlank(" ");//true
        flag = StringUtils.isBlank("\t \f \n \r");//true
        flag = StringUtils.isEmpty(" ");//false
        flag = StringUtils.isNotEmpty(" ");//true
//        flag = StringUtils.isNotBlank(" ");//false;
//        if(flag){
//            System.out.println("true");
//        }else{
//            System.out.println("false");
//        }

        StringUtils.trim("     123     ");//"123"
        StringUtils.trimToNull("   \b \t  ");//null
        StringUtils.trimToNull("  ");//null;
        StringUtils.trimToEmpty("  \t\n ");//""

        StringUtils.strip("   ss13   \b   \t\n\f\r ");//ss13  \b
        StringUtils.strip("   ");//""  如果输入为 null 则返回 null
        StringUtils.stripToNull("    ");//null 和Strip相同 如果变为 null 或""，则返回 null
        StringUtils.stripToEmpty("   ");//"" 如果变为 null 或"" ，则返回""
        String str = "abcba", stripChars = "a";
        char b = 'b';
        StringUtils.strip(str, stripChars);//去掉str两端的stripChars 若stripChars为"" or null  return strip(str)
        StringUtils.stripStart(str, stripChars);//del front
        StringUtils.stripEnd(str, stripChars);//del end
        String[] strs = {" 123 ", "4567 "};
        String str1 = "a", str2 = "b";
        StringUtils.stripAll(strs);

        String searchStr = "a";
        char searchChar = 'a';
        StringUtils.equals(str1, str2);
        StringUtils.equalsIgnoreCase(str1, str2);//不区分大小写
        StringUtils.indexOf(str, searchStr);
        StringUtils.indexOf(str, searchChar);
        // 如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1
        StringUtils.ordinalIndexOf(str, searchStr, 2);//第ordinal次出现的位置
        //返回字符串 searchStr 从 startPos 开始在字符串 str 中第一次出现的位置。
        StringUtils.indexOf(str,searchStr, 3);
        StringUtils.lastIndexOf(str, searchChar);//b最后一次出现的位置 未出现则为-1 str为null/"" 也返回-1
        StringUtils.lastIndexOf(str, searchStr);

        //返回字符串 searchStr 从 startPos 开始在字符串 str 中最后一次出现的位置。
        StringUtils.lastIndexOf(str, searchStr, 3);


    }
}
